/**
    \file color.h
    \brief Header for COL routine
    
    COL modoule is used to do the allocation registers for variables
    by using color allocation algorithm.
*/
#ifndef __COLOR_H__
#define __COLOR_H__

#include "temp.h"
#include "graph.h"
#include "liveness.h"

///Result structure that the COL routine will return
struct COL_result {Temp_map coloring; Temp_tempList spills;};
///Create a new COL_result structure
struct COL_result COL_color(G_graph ig, Temp_map initial, Temp_tempList regs);

///Generate a color allocation for a live graph
struct COL_result COL_colorVar(G_graph graph);

#endif
